package com.rzl.expense.expense.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.rzl.expense.common.annotation.Excel;
import com.rzl.expense.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 铁塔室分传输微站非标月报快照对象 twr_towerbillbalance_snapshoot
 * 
 * @author expense
 * @date 2024-11-27
 */
public class TwrTowerBillBalanceSnapShoot extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private String id;

    /** 是否已报账,0未报账,1已报账 */
    @Excel(name = "是否已报账,0未报账,1已报账")
    private String pushedState;

    /** 区县ID */
    @Excel(name = "区县ID")
    private String regId;

    /** 区县名称 */
    @Excel(name = "区县名称")
    private String regName;

    /** 地市ID */
    @Excel(name = "地市ID")
    private String pregId;

    /** 地市名称 */
    @Excel(name = "地市名称")
    private String pregName;

    /** 省份ID */
    @Excel(name = "省份ID")
    private String prvId;

    /** 省份名称 */
    @Excel(name = "省份名称")
    private String prvName;

    /** 账期 */
    @Excel(name = "账期")
    private String accountPeroid;

    /** 业务确认单号 */
    @Excel(name = "业务确认单号")
    private String businessConfirmNumber;

    /** 站址编码 */
    @Excel(name = "站址编码")
    private String towerStationCode;

    /** 需求单号 */
    @Excel(name = "需求单号")
    private String agreeBillCode;

    /** 起租开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "起租开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTime;

    /** 产品类型 */
    @Excel(name = "产品类型")
    private String towerType;

    /** 产品类型ID */
    @Excel(name = "产品类型ID")
    private String productTypeId;

    /** 资源状态 */
    @Excel(name = "资源状态")
    private String baseState;

    /** 共享客户数 */
    @Excel(name = "共享客户数")
    private Long currentServiceShareNum;

    /** 电费（包干） */
    @Excel(name = "电费", readConverterExp = "包=干")
    private BigDecimal elecFee;

    /** 油机发电服务费（包干） */
    @Excel(name = "油机发电服务费", readConverterExp = "包=干")
    private BigDecimal oilGeneratorElectricFee;

    /** 超过10%高等级服务站址额外维护服务费 */
    @Excel(name = "超过10%高等级服务站址额外维护服务费")
    private BigDecimal hightLevelFee;

    /** 蓄电池额外保障费 */
    @Excel(name = "蓄电池额外保障费")
    private BigDecimal batteryProtectionFee;

    /** 期末铁塔共享后基准价格1+2+3 */
    @Excel(name = "期末铁塔共享后基准价格1+2+3")
    private BigDecimal currentTowerShareSumPrice;

    /** 期末机房共享后基准价格1+2+3 */
    @Excel(name = "期末机房共享后基准价格1+2+3")
    private BigDecimal currentRoomShareSumPrice;

    /** 配套共享后基准价格1+2+3 */
    @Excel(name = "配套共享后基准价格1+2+3")
    private BigDecimal currentSupportingShareSumPrice;

    /** bbu安装在铁塔机房费 */
    @Excel(name = "bbu安装在铁塔机房费")
    private BigDecimal bbuOnRoomFee;

    /** 维护费折扣后金额1+2+3 */
    @Excel(name = "维护费折扣后金额1+2+3")
    private BigDecimal currentManagerFeeShareSumPrice;

    /** 场地费折扣后金额 */
    @Excel(name = "场地费折扣后金额")
    private BigDecimal currentPraceFeeShareSumPrice;

    /** 电力引入费折扣后金额 */
    @Excel(name = "电力引入费折扣后金额")
    private BigDecimal currentPowerInFeeShareSumPrice;

    /** 微波费用 */
    @Excel(name = "微波费用")
    private BigDecimal microwaveFee;

    /** 微波费用 */
    @Excel(name = "微波费用")
    private BigDecimal wlanFee;

    /** 其他费用 */
    @Excel(name = "其他费用")
    private BigDecimal otherFee;

    /** 基准价格折扣后金额 */
    @Excel(name = "基准价格折扣后金额")
    private BigDecimal basePriceFee;

    /** 杆塔费用 */
    @Excel(name = "杆塔费用")
    private BigDecimal rodTowerFee;

    /** 天馈及安装费用 */
    @Excel(name = "天馈及安装费用")
    private BigDecimal antennaFeedInstallFee;

    /** 电源配套费用 */
    @Excel(name = "电源配套费用")
    private BigDecimal supportingPowerServiceFee;

    /** 建造成本(不含税) */
    @Excel(name = "建造成本(不含税)")
    private BigDecimal buildCost;

    /** 费用项目的调整金额（正负表示）（不含税） */
    @Excel(name = "费用项目的调整金额", readConverterExp = "正=负表示")
    private BigDecimal adjustmentFee;

    /** 油机发电服务费（非包干） */
    @Excel(name = "油机发电服务费", readConverterExp = "非=包干")
    private BigDecimal oilGeneratorElectricFee2;

    /** 产品服务费合计 */
    @Excel(name = "产品服务费合计")
    private BigDecimal totalAmountMonth;

    /** 终止赔偿费用 */
    @Excel(name = "终止赔偿费用")
    private BigDecimal terminationCompensationFee;

    /** 费用项目的调整后金额（不含税） */
    @Excel(name = "费用项目的调整后金额", readConverterExp = "不=含税")
    private BigDecimal afterAdjustmentFee;

    /** 产品单元数（个） */
    @Excel(name = "产品单元数", readConverterExp = "个=")
    private String productTotal;

    /** 1铁塔2室分3传输4微站5非标 */
    @Excel(name = "1铁塔2室分3传输4微站5非标")
    private Integer type;

    /** 需求类型/产品类型 4：楼宇室分 5：隧道室分 */
    @Excel(name = "需求类型/产品类型 4：楼宇室分 5：隧道室分")
    private String requestType;

    /** 建筑物类型 2110:商务楼宇 2130:机场 2140:大型场馆 2160:党政机关 2170:楼宇其它 2120:交通枢纽 2150:校园 2210:地铁 2220:高铁 2230:公路 2240:隧道其他 */
    @Excel(name = "建筑物类型 2110:商务楼宇 2130:机场 2140:大型场馆 2160:党政机关 2170:楼宇其它 2120:交通枢纽 2150:校园 2210:地铁 2220:高铁 2230:公路 2240:隧道其他")
    private String grade;

    /** 建筑面积 */
    @Excel(name = "建筑面积")
    private BigDecimal area;

    /** 隧道长度（平方米/公里） */
    @Excel(name = "隧道长度", readConverterExp = "平=方米/公里")
    private BigDecimal tunnelLength;

    /** 站址标记:1.普通服务,2.村通 */
    @Excel(name = "站址标记:1.普通服务,2.村通")
    private String siteSign;

    /** 是否参与优惠:1.是,0.否 */
    @Excel(name = "是否参与优惠:1.是,0.否")
    private String ifDiscount;

    /** 建设类型:1.共址新建独享站,2.共址新建共享站,3.新址新建共享站,4.新址新建独享站 */
    @Excel(name = "建设类型:1.共址新建独享站,2.共址新建共享站,3.新址新建共享站,4.新址新建独享站")
    private String buildType;

    /** 信源频段 */
    @Excel(name = "信源频段")
    private String systemType;

    /** 起租结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "起租结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    /** 移动暂扣费用 */
    @Excel(name = "移动暂扣费用")
    private BigDecimal mobileTempDeduction;

    /** 是否普服 0 否 1 是 */
    @Excel(name = "是否普服 0 否 1 是")
    private Integer ifTeleCmnServ;

    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }
    public void setPushedState(String pushedState) 
    {
        this.pushedState = pushedState;
    }

    public String getPushedState() 
    {
        return pushedState;
    }
    public void setRegId(String regId) 
    {
        this.regId = regId;
    }

    public String getRegId() 
    {
        return regId;
    }
    public void setRegName(String regName) 
    {
        this.regName = regName;
    }

    public String getRegName() 
    {
        return regName;
    }
    public void setPregId(String pregId) 
    {
        this.pregId = pregId;
    }

    public String getPregId() 
    {
        return pregId;
    }
    public void setPregName(String pregName) 
    {
        this.pregName = pregName;
    }

    public String getPregName() 
    {
        return pregName;
    }
    public void setPrvId(String prvId) 
    {
        this.prvId = prvId;
    }

    public String getPrvId() 
    {
        return prvId;
    }
    public void setPrvName(String prvName) 
    {
        this.prvName = prvName;
    }

    public String getPrvName() 
    {
        return prvName;
    }
    public void setAccountPeroid(String accountPeroid) 
    {
        this.accountPeroid = accountPeroid;
    }

    public String getAccountPeroid() 
    {
        return accountPeroid;
    }
    public void setBusinessConfirmNumber(String businessConfirmNumber) 
    {
        this.businessConfirmNumber = businessConfirmNumber;
    }

    public String getBusinessConfirmNumber() 
    {
        return businessConfirmNumber;
    }
    public void setTowerStationCode(String towerStationCode) 
    {
        this.towerStationCode = towerStationCode;
    }

    public String getTowerStationCode() 
    {
        return towerStationCode;
    }
    public void setAgreeBillCode(String agreeBillCode) 
    {
        this.agreeBillCode = agreeBillCode;
    }

    public String getAgreeBillCode() 
    {
        return agreeBillCode;
    }
    public void setStartTime(Date startTime) 
    {
        this.startTime = startTime;
    }

    public Date getStartTime() 
    {
        return startTime;
    }
    public void setTowerType(String towerType) 
    {
        this.towerType = towerType;
    }

    public String getTowerType() 
    {
        return towerType;
    }
    public void setProductTypeId(String productTypeId) 
    {
        this.productTypeId = productTypeId;
    }

    public String getProductTypeId() 
    {
        return productTypeId;
    }
    public void setBaseState(String baseState) 
    {
        this.baseState = baseState;
    }

    public String getBaseState() 
    {
        return baseState;
    }
    public void setCurrentServiceShareNum(Long currentServiceShareNum) 
    {
        this.currentServiceShareNum = currentServiceShareNum;
    }

    public Long getCurrentServiceShareNum() 
    {
        return currentServiceShareNum;
    }
    public void setElecFee(BigDecimal elecFee) 
    {
        this.elecFee = elecFee;
    }

    public BigDecimal getElecFee() 
    {
        return elecFee;
    }
    public void setOilGeneratorElectricFee(BigDecimal oilGeneratorElectricFee) 
    {
        this.oilGeneratorElectricFee = oilGeneratorElectricFee;
    }

    public BigDecimal getOilGeneratorElectricFee() 
    {
        return oilGeneratorElectricFee;
    }
    public void setHightLevelFee(BigDecimal hightLevelFee) 
    {
        this.hightLevelFee = hightLevelFee;
    }

    public BigDecimal getHightLevelFee() 
    {
        return hightLevelFee;
    }
    public void setBatteryProtectionFee(BigDecimal batteryProtectionFee) 
    {
        this.batteryProtectionFee = batteryProtectionFee;
    }

    public BigDecimal getBatteryProtectionFee() 
    {
        return batteryProtectionFee;
    }
    public void setCurrentTowerShareSumPrice(BigDecimal currentTowerShareSumPrice) 
    {
        this.currentTowerShareSumPrice = currentTowerShareSumPrice;
    }

    public BigDecimal getCurrentTowerShareSumPrice() 
    {
        return currentTowerShareSumPrice;
    }
    public void setCurrentRoomShareSumPrice(BigDecimal currentRoomShareSumPrice) 
    {
        this.currentRoomShareSumPrice = currentRoomShareSumPrice;
    }

    public BigDecimal getCurrentRoomShareSumPrice() 
    {
        return currentRoomShareSumPrice;
    }
    public void setCurrentSupportingShareSumPrice(BigDecimal currentSupportingShareSumPrice) 
    {
        this.currentSupportingShareSumPrice = currentSupportingShareSumPrice;
    }

    public BigDecimal getCurrentSupportingShareSumPrice() 
    {
        return currentSupportingShareSumPrice;
    }
    public void setBbuOnRoomFee(BigDecimal bbuOnRoomFee) 
    {
        this.bbuOnRoomFee = bbuOnRoomFee;
    }

    public BigDecimal getBbuOnRoomFee() 
    {
        return bbuOnRoomFee;
    }
    public void setCurrentManagerFeeShareSumPrice(BigDecimal currentManagerFeeShareSumPrice) 
    {
        this.currentManagerFeeShareSumPrice = currentManagerFeeShareSumPrice;
    }

    public BigDecimal getCurrentManagerFeeShareSumPrice() 
    {
        return currentManagerFeeShareSumPrice;
    }
    public void setCurrentPraceFeeShareSumPrice(BigDecimal currentPraceFeeShareSumPrice) 
    {
        this.currentPraceFeeShareSumPrice = currentPraceFeeShareSumPrice;
    }

    public BigDecimal getCurrentPraceFeeShareSumPrice() 
    {
        return currentPraceFeeShareSumPrice;
    }
    public void setCurrentPowerInFeeShareSumPrice(BigDecimal currentPowerInFeeShareSumPrice) 
    {
        this.currentPowerInFeeShareSumPrice = currentPowerInFeeShareSumPrice;
    }

    public BigDecimal getCurrentPowerInFeeShareSumPrice() 
    {
        return currentPowerInFeeShareSumPrice;
    }
    public void setMicrowaveFee(BigDecimal microwaveFee) 
    {
        this.microwaveFee = microwaveFee;
    }

    public BigDecimal getMicrowaveFee() 
    {
        return microwaveFee;
    }
    public void setWlanFee(BigDecimal wlanFee) 
    {
        this.wlanFee = wlanFee;
    }

    public BigDecimal getWlanFee() 
    {
        return wlanFee;
    }
    public void setOtherFee(BigDecimal otherFee) 
    {
        this.otherFee = otherFee;
    }

    public BigDecimal getOtherFee() 
    {
        return otherFee;
    }
    public void setBasePriceFee(BigDecimal basePriceFee) 
    {
        this.basePriceFee = basePriceFee;
    }

    public BigDecimal getBasePriceFee() 
    {
        return basePriceFee;
    }
    public void setRodTowerFee(BigDecimal rodTowerFee) 
    {
        this.rodTowerFee = rodTowerFee;
    }

    public BigDecimal getRodTowerFee() 
    {
        return rodTowerFee;
    }
    public void setAntennaFeedInstallFee(BigDecimal antennaFeedInstallFee) 
    {
        this.antennaFeedInstallFee = antennaFeedInstallFee;
    }

    public BigDecimal getAntennaFeedInstallFee() 
    {
        return antennaFeedInstallFee;
    }
    public void setSupportingPowerServiceFee(BigDecimal supportingPowerServiceFee) 
    {
        this.supportingPowerServiceFee = supportingPowerServiceFee;
    }

    public BigDecimal getSupportingPowerServiceFee() 
    {
        return supportingPowerServiceFee;
    }
    public void setBuildCost(BigDecimal buildCost) 
    {
        this.buildCost = buildCost;
    }

    public BigDecimal getBuildCost() 
    {
        return buildCost;
    }
    public void setAdjustmentFee(BigDecimal adjustmentFee) 
    {
        this.adjustmentFee = adjustmentFee;
    }

    public BigDecimal getAdjustmentFee() 
    {
        return adjustmentFee;
    }
    public void setOilGeneratorElectricFee2(BigDecimal oilGeneratorElectricFee2) 
    {
        this.oilGeneratorElectricFee2 = oilGeneratorElectricFee2;
    }

    public BigDecimal getOilGeneratorElectricFee2() 
    {
        return oilGeneratorElectricFee2;
    }
    public void setTotalAmountMonth(BigDecimal totalAmountMonth) 
    {
        this.totalAmountMonth = totalAmountMonth;
    }

    public BigDecimal getTotalAmountMonth() 
    {
        return totalAmountMonth;
    }
    public void setTerminationCompensationFee(BigDecimal terminationCompensationFee) 
    {
        this.terminationCompensationFee = terminationCompensationFee;
    }

    public BigDecimal getTerminationCompensationFee() 
    {
        return terminationCompensationFee;
    }
    public void setAfterAdjustmentFee(BigDecimal afterAdjustmentFee) 
    {
        this.afterAdjustmentFee = afterAdjustmentFee;
    }

    public BigDecimal getAfterAdjustmentFee() 
    {
        return afterAdjustmentFee;
    }
    public void setProductTotal(String productTotal) 
    {
        this.productTotal = productTotal;
    }

    public String getProductTotal() 
    {
        return productTotal;
    }
    public void setType(Integer type) 
    {
        this.type = type;
    }

    public Integer getType() 
    {
        return type;
    }
    public void setRequestType(String requestType) 
    {
        this.requestType = requestType;
    }

    public String getRequestType() 
    {
        return requestType;
    }
    public void setGrade(String grade) 
    {
        this.grade = grade;
    }

    public String getGrade() 
    {
        return grade;
    }
    public void setArea(BigDecimal area) 
    {
        this.area = area;
    }

    public BigDecimal getArea() 
    {
        return area;
    }
    public void setTunnelLength(BigDecimal tunnelLength) 
    {
        this.tunnelLength = tunnelLength;
    }

    public BigDecimal getTunnelLength() 
    {
        return tunnelLength;
    }
    public void setSiteSign(String siteSign) 
    {
        this.siteSign = siteSign;
    }

    public String getSiteSign() 
    {
        return siteSign;
    }
    public void setIfDiscount(String ifDiscount) 
    {
        this.ifDiscount = ifDiscount;
    }

    public String getIfDiscount() 
    {
        return ifDiscount;
    }
    public void setBuildType(String buildType) 
    {
        this.buildType = buildType;
    }

    public String getBuildType() 
    {
        return buildType;
    }
    public void setSystemType(String systemType) 
    {
        this.systemType = systemType;
    }

    public String getSystemType() 
    {
        return systemType;
    }
    public void setEndTime(Date endTime) 
    {
        this.endTime = endTime;
    }

    public Date getEndTime() 
    {
        return endTime;
    }
    public void setMobileTempDeduction(BigDecimal mobileTempDeduction) 
    {
        this.mobileTempDeduction = mobileTempDeduction;
    }

    public BigDecimal getMobileTempDeduction() 
    {
        return mobileTempDeduction;
    }
    public void setIfTeleCmnServ(Integer ifTeleCmnServ) 
    {
        this.ifTeleCmnServ = ifTeleCmnServ;
    }

    public Integer getIfTeleCmnServ() 
    {
        return ifTeleCmnServ;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("pushedState", getPushedState())
            .append("regId", getRegId())
            .append("regName", getRegName())
            .append("pregId", getPregId())
            .append("pregName", getPregName())
            .append("prvId", getPrvId())
            .append("prvName", getPrvName())
            .append("accountPeroid", getAccountPeroid())
            .append("businessConfirmNumber", getBusinessConfirmNumber())
            .append("towerStationCode", getTowerStationCode())
            .append("agreeBillCode", getAgreeBillCode())
            .append("startTime", getStartTime())
            .append("towerType", getTowerType())
            .append("productTypeId", getProductTypeId())
            .append("baseState", getBaseState())
            .append("currentServiceShareNum", getCurrentServiceShareNum())
            .append("elecFee", getElecFee())
            .append("oilGeneratorElectricFee", getOilGeneratorElectricFee())
            .append("hightLevelFee", getHightLevelFee())
            .append("batteryProtectionFee", getBatteryProtectionFee())
            .append("currentTowerShareSumPrice", getCurrentTowerShareSumPrice())
            .append("currentRoomShareSumPrice", getCurrentRoomShareSumPrice())
            .append("currentSupportingShareSumPrice", getCurrentSupportingShareSumPrice())
            .append("bbuOnRoomFee", getBbuOnRoomFee())
            .append("currentManagerFeeShareSumPrice", getCurrentManagerFeeShareSumPrice())
            .append("currentPraceFeeShareSumPrice", getCurrentPraceFeeShareSumPrice())
            .append("currentPowerInFeeShareSumPrice", getCurrentPowerInFeeShareSumPrice())
            .append("microwaveFee", getMicrowaveFee())
            .append("wlanFee", getWlanFee())
            .append("otherFee", getOtherFee())
            .append("basePriceFee", getBasePriceFee())
            .append("rodTowerFee", getRodTowerFee())
            .append("antennaFeedInstallFee", getAntennaFeedInstallFee())
            .append("supportingPowerServiceFee", getSupportingPowerServiceFee())
            .append("buildCost", getBuildCost())
            .append("adjustmentFee", getAdjustmentFee())
            .append("oilGeneratorElectricFee2", getOilGeneratorElectricFee2())
            .append("totalAmountMonth", getTotalAmountMonth())
            .append("terminationCompensationFee", getTerminationCompensationFee())
            .append("afterAdjustmentFee", getAfterAdjustmentFee())
            .append("productTotal", getProductTotal())
            .append("type", getType())
            .append("requestType", getRequestType())
            .append("grade", getGrade())
            .append("area", getArea())
            .append("tunnelLength", getTunnelLength())
            .append("siteSign", getSiteSign())
            .append("ifDiscount", getIfDiscount())
            .append("buildType", getBuildType())
            .append("systemType", getSystemType())
            .append("endTime", getEndTime())
            .append("mobileTempDeduction", getMobileTempDeduction())
            .append("ifTeleCmnServ", getIfTeleCmnServ())
            .toString();
    }
}
